Large computer systems, for example database systems, such as a server have a large data storage facility. A server comprises a processor, a memory, and a disc drive. The disc drive is able to store data and a computer program to operate devices attached to the server. The servers are connected to a network via a suitable connection. It is necessary for the components of the computer system to be regularly benchmark tested. The computer system is made up of hardware and software components, such as the memory devices, central processing units and the application processing algorithm (computer program). The benchmark test ensures the computer system's components are functioning correctly by testing their performance on a regular basis.
For each benchmark test cycle, a value of a parameter of a component within the computer system can be changed so that a comparative result is given. All parameter values, apart from the value of the parameter being tested, remain constant for each subsequent test cycle.
Computer systems, such as large settlement banking systems, execute benchmark tests as follows. Test data in a database is changed to an unsettled state, and a test using the data is executed which settles the trades. This settlement procedure is cycled as necessary. For each cycle a value of the parameter being tested can be changed. Measurements are taken to provide a value of, for example, the length of time it takes to complete each settlement procedure or the amount of memory used during the settlement procedure. The results of each run are compared with previous runs to ensure that the component of the computer system tested is operating correctly.
However, once an individual settlement procedure has been completed, the data in the database along with the control files and tablespace data files would have changed. It therefore becomes necessary to restore, or ‘rollback’, these parts of the database to a known state before a new settlement cycle can be executed. This provides a requirement for systems that can run benchmark tests on components of a computer system and concurrently restore the data and data files used in the test to a known state.
Typical server systems in use at present include the Sun E450™ and the Sun E10000™. Known data storage facilities include the Sun A5000™ product line of disc arrays.
Present benchmarking systems in use provide product specific dedicated storage devices attached to a server. The storage devices provide large volumes of storage space for temporary data storage. One such system is the EMC TimeFinder™ product, and works in the following manner.
The server's application environment is copied to a dedicated storage device, such as Symmetrix™. The application environment includes some of the database system files, such as the control files, the database tablespace files and the data. It is necessary to restore the application environment to a known state before each subsequent benchmark test. This enables benchmark testing of components of the computer system to be executed using the copied application environment. The benchmark test is executed under the control of the server, and therefore uses valuable server processing power during the test execution. Using this system, it is not possible to create a duplicate copy of the data whilst the benchmark test is being executed.
Such systems are very expensive due to the large array of product specific dedicated storage devices required.